Hi AZ,
Here is a new Test Version 4.31b that allows configuring an M Code for a WaitBitBuf delay.
Please test it for us.
http://dynomotion.com/Software/KMotion431b.exe
An M code on the same line or previous line shouldn't make any significant difference in timing.
Regards
TK
| Group: DynoMotion |
Message: 7048 |
From: Tom Kerekes |
Date: 3/19/2013 |
| Subject: Re: Initiating G code prog |
Hi AZ, The WaitBitBuf is real-time deterministic. The MCode with Execute/Wait is not. The Execute/Wait involves Windows/PC/USB so will usually involve a few milliseconds of delay but sometimes a second or more. The WaitBitBuf is guaranteed to respond within 90us. Regards TK
| Group: DynoMotion |
Message: 7055 |
From: az@aimele.com |
Date: 3/19/2013 |
| Subject: Re: Initiating G code prog |
Tom: I think I understand that the first time an Execute/wait is run it has to pull the program from the PC, load it into the K flop and run it. But I thought that once it is loaded into the K flop into a thread, it stays in the Kflop and on subsequent calls it just runs that thread WITHOUT involving the PC. It would seem that should be pretty quick. This isn't deteministic like the Wait Bit Buf but a few milliseconds in this application won't be noticed however, more than 100 milliseconds might and a full second will. Am I missing something? AZ ------- Original Message ------- From : Tom Kerekes[mailto:tk@...] Sent : 03/19/2013 12:01:14 PM To : DynoMotion@yahoogroups.com Cc : Subject : RE: Re: Re: [DynoMotion] Re: Initiating G code prog
Hi AZ, The WaitBitBuf is real-time deterministic. The MCode with Execute/Wait is not. The Execute/Wait involves Windows/PC/USB so will usually involve a few milliseconds of delay but sometimes a second or more. The WaitBitBuf is guaranteed to respond within 90us. Regards TK
| Group: DynoMotion |
Message: 7056 |
From: Tom Kerekes |
Date: 3/19/2013 |
| Subject: Re: Initiating G code prog |
Hi AZ,
No it is actually compiled and downloaded each time. There is a way to just execute the Thread again if you know a program has already been downloaded to that Thread. Just don't specify a file name to be compiled and downloaded.
But regardless in either case it still involves the PC/Windows/KMotionCNC/Interpreter receiving a response through USB that the motion is finished, and then sending a command through the USB for the Thread to Execute. At a minimum some code on the PC must execute. If just at that moment Windows decides it must shuffle virtual memory and to do that it must wait for some Process to finish what it is doing, which needs something else to finish its task, ...etc...etc... there can be a big delay. These delays will occur vary rarely but they do happen. For many applications it doesn't matter if a 2 hour job takes 2 extra seconds to complete because of several unnecessary delays. But if a Laser occasionally stays on for an extra second it might burn a hole through the part.
HTH Regards TK
| | | | | |